← index
Win32.Projects/projects/Mixed Martial Arts Character Editor/Supportj.h
Source: Win32.Projects/projects/Mixed Martial Arts Character Editor/Supportj.h
// this header file, supports my cause

// that is used for when I want my about box


#include <windows.h>

#include "resource.h"


void SupportJared();
void InitHelp();
void ShowAbout(char* title,char* aboutstring);
void CloseAbout();
LRESULT APIENTRY AboutProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
HWND aboutwin;
void LOADG();
void KILLG();
inline HFONT MakeFont(char* ftype, int size);
void SetMyFont(HWND,HFONT);
void SupportLostSideDead();


HBITMAP abmp;
HFONT   afont = MakeFont("Arial",14);
HWND editwin;
HWND hok;

void SetMyFont(HWND hwnd,HFONT font)
{
	SendMessage(hwnd,WM_SETFONT,(WPARAM)(HFONT)font,0);
}


// shell in IE

void SupportJared()
{
	ShellExecute(NULL,"open","http://www.lostsidedead.com",NULL,NULL,SW_SHOW);
}
// shell in IE

void SupportLostSideDead()
{
	ShellExecute(NULL,"open","http://www.lostsidedead.com",NULL,NULL,SW_SHOW);
}


// init help

void InitHelp()
{
	LOADG();

	WNDCLASS wc;
	wc.cbClsExtra = 0;
	wc.cbWndExtra = 0;
	wc.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);
	wc.hInstance = GetModuleHandle(NULL);
	wc.hIcon = LoadIcon(NULL,NULL);
	wc.hCursor = LoadCursor(NULL,IDC_ARROW);
	wc.lpfnWndProc = (WNDPROC) AboutProc;
	wc.lpszClassName = "AboutMaster";
	wc.lpszMenuName = NULL;
	wc.style = CS_HREDRAW | CS_VREDRAW;

	RegisterClass(&wc);// register it


	aboutwin = CreateWindow("AboutMaster","About This Program (Jared Bruni)",WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX,CW_USEDEFAULT,CW_USEDEFAULT,300,300-10,0,0,GetModuleHandle(NULL),0);
}


// about processs

LRESULT APIENTRY AboutProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
	switch(msg)
	{
	case WM_CLOSE:
		ShowWindow(hwnd,SW_HIDE);
		break;
	case WM_DESTROY:
		KILLG();
		break;
	case WM_CREATE:
		{
			HWND st;
			st = CreateWindow("Static","Please Support me, by Visitng my Sponsor",WS_CHILD |WS_VISIBLE,5,5,300,25,hwnd,0,GetModuleHandle(NULL),0);
			SetMyFont(st,afont);
			HWND st2;
			st2 = CreateWindow("Static",NULL,WS_CHILD | WS_VISIBLE | SS_BITMAP,5,25,0,0,hwnd,0,GetModuleHandle(NULL),0);
			SendMessage(st2,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)(HBITMAP)abmp);
			HWND st3;
			st3 = CreateWindow("Static","Written by Jared Bruni",WS_CHILD | WS_VISIBLE,120,35,200,20,hwnd,0,GetModuleHandle(NULL),0);
			editwin = CreateWindowEx(WS_EX_STATICEDGE,"Edit",NULL,WS_CHILD | WS_VISIBLE | ES_MULTILINE | WS_VSCROLL | ES_READONLY ,5,80,290-5,150,hwnd,0,GetModuleHandle(NULL),0);
			hok = CreateWindowEx(WS_EX_STATICEDGE,"Button","Ok!",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,285-75,80+155,75,25,hwnd,0,GetModuleHandle(NULL),0);
			SetMyFont(hok,afont);
			SetMyFont(editwin,afont);
			HWND st4;
			st4 = CreateWindow("Static","www.lostsidedead.com",WS_CHILD | WS_VISIBLE,5,80+155,200,25,hwnd,0,GetModuleHandle(NULL),0);

		}
		break;
	case WM_COMMAND:
		{
			switch(HIWORD(wParam))
			{
			case BN_CLICKED:
				ShowWindow(hwnd,SW_HIDE);
				break;
			}

		}
		break;
	case WM_LBUTTONDOWN:
		{
			int mx;
			int my;
			mx = LOWORD(lParam);
			my = HIWORD(lParam);

			if(mx > 5 && mx < 5+101 && my > 25 && my < 75)
			{
				SupportJared();
			}

			if(mx > 5 && mx < 100 && my > 80+155 && my < 80+155+25)
			{
				SupportLostSideDead();
			}
		}
		break;
	default: return DefWindowProc(hwnd,msg,wParam,lParam);
	}
	return 0;
}

struct AutoInit
{
	inline AutoInit()
	{
		InitHelp();
	}
};

static AutoInit autoit;

void ShowAbout(char* title,char* aboutstring)
{
	char tbuff[100];
	strcpy(tbuff,"About ");
	strcat(tbuff,title);

	SendMessage(aboutwin,WM_SETTEXT,strlen(title),(LPARAM)(LPCSTR)tbuff);
	SendMessage(editwin,WM_SETTEXT,strlen(aboutstring),(LPARAM)(LPCSTR)aboutstring);
	ShowWindow(aboutwin,SW_SHOW);
}

void CloseAbout()
{
	ShowWindow(aboutwin,SW_HIDE);
}

void LOADG()
{
	abmp = LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP2));
}

void KILLG()
{
	DeleteObject(abmp);
}

// make a font

inline HFONT MakeFont(char* ftype, int size)
{
	return CreateFont(size,0,0,0,FW_DONTCARE,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_MODERN,ftype);
}